package com.osc.exam.service;

import com.osc.exam.config.PageBean;
import com.osc.exam.entity.domain.Student;
import com.osc.exam.entity.vo.InterviewVO;
import com.osc.exam.entity.vo.StudentVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface StudentService  {

    /**
     * 学生信息录入功能
     * @param studentVO
     * @return
     */
    int insterData(StudentVO studentVO);

    /**
     * 学生进度查询
     *
     * @param status
     * @return
     */
    List<Student> selectAll(String status);


    /**
     * 删除学生信息
     * @param id
     * @return
     */
    void deleteData(Integer id);

    /**
     * 添加面试评论信息
     * @param interviewVO
     * @return
     */
    int interviewResult(InterviewVO interviewVO);

    /**
     * 查询全部的学生信息
     *
     * @param cityApplied
     * @param positionApplied
     * @param name
     * @param status
     * @return
     */
    List<Student> queryAllByLimit(String cityApplied, String positionApplied, String name, String status);

    /**
     * 查询实习信息
     * @return
     */
    List<Student> queryTraineeByPage();

    /**
     * 人数及比例信息
     * @return
     */
    int getResume();

    /**
     * 编辑学生信息
     * @param student
     * @return
     */
    boolean update(Student student);

    /**
     *
     * @param id
     * @param status
     * @param date
     * @return
     */
    boolean updateStatus(int id, int status, Date date);

    /**
     * 以学校纬度划分
     * @return
     */
    List<Map<String,Object>> selectPartStu();

    /**
     * 以岗位划分
     * @return
     */
    List<Map<String,Object>> getPost();

    /**
     * 文件上传功能
     * @param file
     */
    void uploadFile(MultipartFile file);

    /**
     * 文件下载功能
     * @param fileName
     * @param response
     */
    void download(String fileName, HttpServletResponse response);

}
